package router

import (
	"gateway/handler/api"
	"github.com/gin-gonic/gin"
)

// FinanceRoutes 配置财务统计相关路由
func FinanceRoutes(r *gin.RouterGroup) {
	finance := r.Group("/finance")
	{
		// 获取财务统计数据
		finance.GET("/stats", api.GetFinancialStats)
		// 获取财务汇总信息
		finance.GET("/summary", api.GetFinancialSummary)
		// 获取收入明细
		finance.GET("/income_breakdown", api.GetIncomeBreakdown)
		// 获取支出明细
		finance.GET("/expense_breakdown", api.GetExpenseBreakdown)
		// 获取交易明细列表
		finance.GET("/transactions", api.GetTransactionList)
	}
}

// RiskControlRoutes 配置风控规则引擎相关路由
func RiskControlRoutes(r *gin.RouterGroup) {
	riskControl := r.Group("/risk_control")
	{
		// 获取风控规则列表
		riskControl.GET("/rules", api.GetRiskRules)
		// 获取单个风控规则
		riskControl.GET("/rules/:id", api.GetRiskRule)
		// 创建风控规则
		riskControl.POST("/rules", api.CreateRiskRule)
		// 更新风控规则
		riskControl.PUT("/rules/:id", api.UpdateRiskRule)
		// 删除风控规则
		riskControl.DELETE("/rules/:id", api.DeleteRiskRule)
		// 切换风控规则状态
		riskControl.PUT("/rules/:id/status", api.ToggleRiskRuleStatus)
		// 执行风控检查
		riskControl.POST("/check", api.ExecuteRiskCheck)
		// 获取风控日志
		riskControl.GET("/logs", api.GetRiskLogs)
	}
}

// SecurityRoutes 配置资金安全相关路由
func SecurityRoutes(r *gin.RouterGroup) {
	security := r.Group("/security")
	{
		// 获取安全事件列表
		security.GET("/events", api.GetSecurityEvents)
		// 获取单个安全事件详情
		security.GET("/events/:id", api.GetSecurityEvent)
		// 处理安全事件
		security.PUT("/events/:id/handle", api.HandleSecurityEvent)
		// 获取安全设置
		security.GET("/settings", api.GetSecuritySettings)
		// 更新安全设置
		security.PUT("/settings", api.UpdateSecuritySettings)
		// 获取安全状态概览
		security.GET("/status", api.GetSecurityStatus)
		// 获取用户安全信息
		security.GET("/users/:user_id", api.GetUserSecurityInfo)
		// 获取风险用户列表
		security.GET("/risk_users", api.GetRiskUsers)
	}
}
